package com.ruoyi.business.domain.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sun.org.apache.xpath.internal.operations.Bool;
import io.swagger.annotations.Api;
import lombok.Data;

import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * @author 最爱喝兽奶
 * @create 2022/8/8
 **/
@Api("问题实体类表")
@Data
public class QuestionVo implements Serializable {

    /**
     * 表单的id
     */
    private String id;


    /**
     * 问题内容
     */
    private String context;

    /**
     * 存储选择题选项的属性
     */
    private String answerContext;

    /**
     * 问题的状态
     */
    private String status;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 问题的创建时间
     */
    private Date createTime;

    /**
     * 创建问题
     */
    private String type;

    /**
     * 考试的id
     */
    private String examId;

    /**
     * 题目的分数
     */
    private String score;

    /**
     * 问题的答案，存放答案表的id，用逗号隔开
     */
    private String answer;

    /**
     * 问题的答案展示列表
     */
    private List<ObjectiveAnswerVo> answers;

    /**
     * 题目的解析
     */
    private String analysis;

    /**
     * 题目的困难度
     */
    private String hard;

    /**
     * 序号
     */
    private String serialId;

    /**
     * 课程名称
     */
    private String courseName;

    /**
     * 课程id
     */
    private String courseId;

    /**
     * 章节id
     */
    private String chapterId;

    /**
     * 互评得分
     *
     */
    private Integer evaluationScore;

    /**
     * 多选题设置的答案
     */
    private List<String> multipleAnswer = new ArrayList<>();

    /**
     * 学生回答的答案
     */
    private List<String> stuAnswers = new ArrayList<>();

    private Boolean isAnswered;

    /**
     * 学生回答的主观题答案
     */
    private String stuSubAnswer;


    public String getCreateTime() {
        if (createTime == null) {
            return null;
        }
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        return sdf.format(createTime);
    }

    public String getUpdateTime() {
        if (updateTime == null) {
            return null;
        }
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        return sdf.format(updateTime);
    }

}
